package com.dynamicthreadpool.netty;

import com.dynamicthreadpool.netty.server.ThreadPoolControlServer;

/**
 * 动态线程池 Netty 应用主类
 * 提供启动服务器的入口点
 */
public class NettyDynamicThreadPoolApp {
    
    /**
     * 主方法，启动Netty服务器
     * @param args 命令行参数，格式：[端口号]
     */
    public static void main(String[] args) {
        int port = 8888; // 默认端口
        
        // 如果提供了端口参数，则使用提供的端口
        if (args.length > 0) {
            try {
                port = Integer.parseInt(args[0]);
            } catch (NumberFormatException e) {
                System.err.println("Invalid port number, using default port: " + port);
            }
        }
        
        System.out.println("Starting Dynamic Thread Pool Control Server on port " + port);
        
        try {
            // 创建并启动服务器
            ThreadPoolControlServer server = new ThreadPoolControlServer(port);
            // 启动服务器（这会阻塞当前线程直到服务器关闭）
            server.start();
        } catch (Exception e) {
            System.err.println("Error starting server: " + e.getMessage());
            e.printStackTrace();
        }
    }
}